home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_pcdp / ada / pcm.ada < prev    next >
Text File  |  1996-01-30  |  862b  |  47 lines

  1. with Text_IO; use Text_IO;
  2. with PC_Monitor; use PC_Monitor; 
  3. procedure PCM is
  4.  
  5.   task Producer is
  6.     pragma Priority(10);
  7.   end Producer;
  8.   task Consumer1 is
  9.     pragma Priority(7);
  10.   end Consumer1;
  11.   task Consumer2 is
  12.     pragma Priority(7);
  13.   end Consumer2;
  14.  
  15.   task body Producer is
  16.     N: Integer := 0;
  17.   begin
  18.     loop
  19.       N := N + 1;
  20.       Put_Line("Produce   " & Integer'Image(N));
  21.       if N mod 40 = 0 then delay 1.0; end if;
  22.       Append(N);
  23.     end loop;
  24.   end Producer;
  25.  
  26.   task body Consumer1 is
  27.     N: Integer;
  28.   begin
  29.     loop
  30.       Take(N);
  31.       Put_Line("Consume 1 " & Integer'Image(N));
  32.     end loop;
  33.   end Consumer1;
  34.  
  35.   task body Consumer2 is
  36.     N: Integer;
  37.   begin
  38.     loop
  39.       Take(N);
  40.       Put_Line("Consume 2 " & Integer'Image(N));
  41.     end loop;
  42.   end Consumer2;
  43.  
  44. begin
  45.   null;
  46. end PCM;
  47.